package com.example.model;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;

import java.util.Arrays;
import java.util.Collections;

public class MybatisPlusGenerator {
    public static void main(String[] args) {
        FastAutoGenerator.create(
                "jdbc:mysql://101.33.247.213:3306/springcloud?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai",
                "root", "78Wean@mysql")
            .globalConfig(builder -> {
                builder.author("auto") // 设置作者
                    .outputDir("d:/springcloud/demo3/model/src/main/java"); // 生成路径
            })
            .packageConfig(builder -> {
                builder.parent("com.example.model") // 包名
                    .entity("dto") // 实体类包名
                    .pathInfo(Collections.singletonMap(OutputFile.entity, "d:/springcloud/demo3/model/src/main/java/com/example/model/dto"));
            })
            .strategyConfig(builder -> {
                builder.addInclude(Arrays.asList("role","user_role","role","api_permission","role_api_permission")) // 需要生成的表名
                    .entityBuilder().enableLombok(); // 实体类使用lombok
                // 不配置controller、service、mapper生成相关内容
            })
            .templateConfig(builder -> {
                builder
                    .entity("/templates/entity.java") // 使用默认模板
                    .mapper("") // 不生成
                    .xml("")    // 不生成
                    .service("") // 不生成
                    .serviceImpl("") // 不生成
                    .controller(""); // 不生成
            })
            .execute();
    }
}
